package com.xm.dao;

import com.xm.po.Order;

import java.util.List;

/**
 * @author Administrator
 * @date 2020-08-07-9:13
 * @description 订单数据操作接口
 */
public interface OrderDao {
    /**
     * 新增订单
     * @param order
     * @return
     */
    boolean add(Order order);

    /**
     * 订单列表
     * @return
     */
    List<Order>list();

    /**
     * 获取指定用户的订单列表
     * @param userId
     * @return
     */
    List<Order>getOrderByUserId(Integer userId);

    /**
     * 根据订单号获取订单信息
     * @param orderNo
     * @return
     */
    Order getOrderByNo(String orderNo);

    /**
     * 根据订单号获取订单信息
     * @param orderId
     * @return
     */
    Order getOrderById(Integer orderId);

    /**
     * 修改订单信息
     * @param order
     * @return
     */
    boolean update(Order order);

    /**
     * 获取该用户指定状态的订单
     * @param userId
     * @param status
     * @param pageNo
     * @param pageSize
     * @return
     */
    List<Order>getOrderByStatus(Integer userId,String status,Integer pageNo,Integer pageSize);

    /**
     * 获取该用户指定状态的订单个数
     * @param userId
     * @param status
     * @return
     */
    Integer orderCountByStatus(Integer userId,String status);

    /**
     * 查询当年订单数量
     * @return
     */
    Integer orderTotalCount();

}
